#include "abstract_factory.hpp"
#include <cassert>

#define WINDOW

int main()
{

#ifdef WINDOW
	DesignPatterns::factory* f = new DesignPatterns::window_factory;
#else
	DesignPatterns::factory* f = new DesignPatterns::motif_factory;
#endif

	DesignPatterns::widget* w[3];
	w[0] = f->create_button();
	w[1] = f->create_menu();
	w[2] = f->create_button();

	for (int i = 0; i < 3; ++i) {
		w[i]->draw();
	}
	return 0;
}
